/*---------------------------------------------------------------------*/
/* --- STC MCU Limited ------------------------------------------------*/
/* --- STC 1T Series MCU Demo Programme -------------------------------*/
/* --- Mobile: (86)13922805190 ----------------------------------------*/
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
/* --- Tel: 86-0513-55012928,55012929,55012966 ------------------------*/
/* --- Web: www.STCMCU.com --------------------------------------------*/
/* --- Web: www.STCMCUDATA.com  ---------------------------------------*/
/* --- QQ:  800003751 -------------------------------------------------*/
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序            */
/*---------------------------------------------------------------------*/

#include "STC8G_PWM15bit.h"

//========================================================================
// 函数: PWM0_ISR_Handler
// 描述: 15位增强型PWM0中断函数.
// 参数: none.
// 返回: none.
// 版本: V1.0, 2020-09-23
//========================================================================
void PWM0_ISR_Handler(void) interrupt PWM0_VECTOR
{
    char store;
    store = P_SW2;
    P_SW2 |= 0x80;

    if (PWMCFG01 & 0x08) {  // PWM0计数器中断
        PWMCFG01 &= ~0x08;  //清PWM0计数器中断标志
                            // TODO: 在此处添加用户代码
    }
    if (PWM0IF) {  // PWM0匹配中断
        PWM0IF = 0;
        // TODO: 在此处添加用户代码
    }
    P_SW2 = store;
}

//========================================================================
// 函数: PWM1_ISR_Handler
// 描述: 15位增强型PWM1中断函数.
// 参数: none.
// 返回: none.
// 版本: V1.0, 2020-09-23
//========================================================================
void PWM1_ISR_Handler(void) interrupt PWM1_VECTOR
{
    char store;
    store = P_SW2;
    P_SW2 |= 0x80;

    if (PWMCFG01 & 0x80) {  // PWM1计数器中断
        PWMCFG01 &= ~0x80;  //清PWM1计数器中断标志
        // TODO:在此处添加用户代码
    }
    if (PWM1IF) {  // PWM1匹配中断
        PWM1IF = 0;
        // TODO: 在此处添加用户代码
    }
    P_SW2 = store;
}

//========================================================================
// 函数: PWM2_ISR_Handler
// 描述: 15位增强型PWM2中断函数.
// 参数: none.
// 返回: none.
// 版本: V1.0, 2020-09-23
//========================================================================
void PWM2_ISR_Handler(void) interrupt PWM2_VECTOR
{
    char store;
    store = P_SW2;
    P_SW2 |= 0x80;

    if (PWMCFG23 & 0x08) {  // PWM2计数器中断
        PWMCFG23 &= ~0x08;  //清PWM2计数器中断标志
        // TODO: 在此处添加用户代码
    }
    if (PWM2IF) {  // PWM2匹配中断
        PWM2IF = 0;
        // TODO: 在此处添加用户代码
    }
    P_SW2 = store;
}

//========================================================================
// 函数: PWM3_ISR_Handler
// 描述: 15位增强型PWM3中断函数.
// 参数: none.
// 返回: none.
// 版本: V1.0, 2020-09-23
//========================================================================
void PWM3_ISR_Handler(void) interrupt PWM3_VECTOR
{
    char store;
    store = P_SW2;
    P_SW2 |= 0x80;

    if (PWMCFG23 & 0x80) {  // PWM3计数器中断
        PWMCFG23 &= ~0x80;  //清PWM3计数器中断标志
        // TODO: 在此处添加用户代码
    }
    if (PWM3IF) {  // PWM3匹配中断
        PWM3IF = 0;
        // TODO: 在此处添加用户代码
    }
    P_SW2 = store;
}

//========================================================================
// 函数: PWM4_ISR_Handler
// 描述: 15位增强型PWM4中断函数.
// 参数: none.
// 返回: none.
// 版本: V1.0, 2020-09-23
//========================================================================
void PWM4_ISR_Handler(void) interrupt PWM4_VECTOR
{
    char store;
    store = P_SW2;
    P_SW2 |= 0x80;

    if (PWMCFG45 & 0x08) {  // PWM4计数器中断
        PWMCFG45 &= ~0x08;  //清PWM4计数器中断标志
        // TODO: 在此处添加用户代码
    }
    if (PWM4IF) {  // PWM4匹配中断
        PWM4IF = 0;
        // TODO: 在此处添加用户代码
    }
    P_SW2 = store;
}

//========================================================================
// 函数: PWM5_ISR_Handler
// 描述: 15位增强型PWM5中断函数.
// 参数: none.
// 返回: none.
// 版本: V1.0, 2020-09-23
//========================================================================
// void PWM5_ISR_Handler(void) interrupt PWM5_VECTOR  //中断向量号超过31，可借助其它中断号跳转，方法详见规格书介绍
// {
//     if (PWMCFG45 & 0x80) {  // PWM5计数器中断
//         PWMCFG45 &= ~0x80;  //清PWM5计数器中断标志
//         // TODO: 在此处添加用户代码
//     }
// }
